package com.dragon.modules.yuegou.query.wallet;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dragon.modules.yuegou.entity.wallet.MerchantTradeEntity;
import com.dragon.modules.yuegou.enums.CurrencyType;
import com.dragon.modules.yuegou.enums.wallet.MerchantTradeOrderType;
import com.dragon.modules.yuegou.enums.wallet.MerchantTradeProcessState;
import com.dragon.modules.yuegou.enums.wallet.MerchantTradeType;
import com.dragon.modules.yuegou.mybatis.Condition;
import com.dragon.modules.yuegou.mybatis.Query;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonUnwrapped;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 商户交易（在商户角度的交易流水） 动态查询条件
 * 
 * @author pbuilder generated
 * @date 2019-08-05 14:33:29
 * @version 2.0
 */
@JsonInclude(Include.NON_NULL)
public class MerchantTradeQuery extends MerchantTradeEntity implements Query<MerchantTradeEntity> {

    /** 交易ID（与分表中的ID保持一致）查询条件 */
	@JsonUnwrapped(prefix = "id")
	private Condition<String> idCondition;

    /** 商户ID查询条件 */
	@JsonUnwrapped(prefix = "merchantId")
	private Condition<String> merchantIdCondition;

    /** 商户钱包ID查询条件 */
	@JsonUnwrapped(prefix = "merchantWalletId")
	private Condition<String> merchantWalletIdCondition;

    /** 交易金额（正数表示收入，负数表示支出）查询条件 */
	@JsonUnwrapped(prefix = "amount")
	private Condition<BigDecimal> amountCondition;

    /** 交易前余额查询条件 */
	@JsonUnwrapped(prefix = "amountBefore")
	private Condition<BigDecimal> amountBeforeCondition;

    /** 交易后余额查询条件 */
	@JsonUnwrapped(prefix = "amountAfter")
	private Condition<BigDecimal> amountAfterCondition;

    /** [全局枚举]币种：0-悦币-YUE_COIN、1-福利卡-YUE_CARD_GRANTED、2-预付卡-YUE_CARD_BOUGHT、3-微信-WECHAT、4-支付宝-ALIPAY查询条件 */
	@JsonUnwrapped(prefix = "currencyType")
	private Condition<CurrencyType> currencyTypeCondition;

    /** [枚举]类型：0-扫码-SCAN_PAY、1-提货-PICK_UP、2-退款-REFUND、3-提现-WITHDRAW、4-购买-BUY、5-手续费-POUNDAGE、6-运费-FREIGHT、7-悦卡结算-YUECARD查询条件 */
	@JsonUnwrapped(prefix = "type")
	private Condition<MerchantTradeType> typeCondition;

    /** 订单号查询条件 */
	@JsonUnwrapped(prefix = "orderNo")
	private Condition<String> orderNoCondition;

    /** 交易备注查询条件 */
	@JsonUnwrapped(prefix = "remarks")
	private Condition<String> remarksCondition;

    /** 交易时间查询条件 */
	@JsonUnwrapped(prefix = "createdTime")
	private Condition<LocalDateTime> createdTimeCondition;

    /** 悦卡模板ID（商户收入悦卡时存在）查询条件 */
	@JsonUnwrapped(prefix = "cardTemplateId")
	private Condition<String> cardTemplateIdCondition;

    /** 单品id 核销时存入查询条件 */
	@JsonUnwrapped(prefix = "goodsId")
	private Condition<String> goodsIdCondition;

    /** 手续费查询条件 */
	@JsonUnwrapped(prefix = "amountPoundage")
	private Condition<BigDecimal> amountPoundageCondition;

    /** [枚举]处理状态：0-未处理-UNPROCESS、1-已处理-PROCESSED查询条件 */
	@JsonUnwrapped(prefix = "processState")
	private Condition<MerchantTradeProcessState> processStateCondition;

    /** [枚举]类型：0-购物订单-BUY、1-扫码支付-SCAN_PAY、2-停车支付-PARK、3-商户停车券-MERCHANT_COUPON_BUY、4-购买悦卡-CARD_BUY、5-充值悦币-RECHARGE_COIN、6-仪表充值-DOORNO_RECHARGE、7-商户仪表充值-MERCHANT_DOORNO_RECHARGE、8-商户会员等级充值-MERCHANT_LEVEL_BUY、9-疯狂砍价-BARGAIN、10-秒杀-SECKILL、11-限时折扣-LIMIT_SALES、12-积分兑换-POINTS、13-购买套餐-MEAL、14-全民拼团-GROUPON、15-抽奖-LOTTERY、16-物业缴费-PROPERTY_PAY_COST、17-商户物业缴费-MERCHANT_PROPERTY_PAY_COST、18-配送到家-DELIVERY_TO_HOME查询条件 */
	@JsonUnwrapped(prefix = "orderType")
	private Condition<MerchantTradeOrderType> orderTypeCondition;

    /** 实际交易金额查询条件 */
	@JsonUnwrapped(prefix = "realAmount")
	private Condition<BigDecimal> realAmountCondition;

	/**
	 * 构造一个查询条件对象
	 */
	public MerchantTradeQuery() {
		super();
	}

	/**
	 * 依据实体对象构造一个查询条件对象
	 * 
	 * @param entity 实体对象
	 */
	public MerchantTradeQuery(MerchantTradeEntity entity) {
		super(entity);
	}

	/**
	 * 依据其它查询条件对象的信息构造一个查询条件对象
	 * 
	 * @param other 查询条件对象
	 */
	public MerchantTradeQuery(MerchantTradeQuery other) {
		super(other);
		if(other.idCondition != null) {
			this.idCondition = other.idCondition.copy();
		}
		if(other.merchantIdCondition != null) {
			this.merchantIdCondition = other.merchantIdCondition.copy();
		}
		if(other.merchantWalletIdCondition != null) {
			this.merchantWalletIdCondition = other.merchantWalletIdCondition.copy();
		}
		if(other.amountCondition != null) {
			this.amountCondition = other.amountCondition.copy();
		}
		if(other.amountBeforeCondition != null) {
			this.amountBeforeCondition = other.amountBeforeCondition.copy();
		}
		if(other.amountAfterCondition != null) {
			this.amountAfterCondition = other.amountAfterCondition.copy();
		}
		if(other.currencyTypeCondition != null) {
			this.currencyTypeCondition = other.currencyTypeCondition.copy();
		}
		if(other.typeCondition != null) {
			this.typeCondition = other.typeCondition.copy();
		}
		if(other.orderNoCondition != null) {
			this.orderNoCondition = other.orderNoCondition.copy();
		}
		if(other.remarksCondition != null) {
			this.remarksCondition = other.remarksCondition.copy();
		}
		if(other.createdTimeCondition != null) {
			this.createdTimeCondition = other.createdTimeCondition.copy();
		}
		if(other.cardTemplateIdCondition != null) {
			this.cardTemplateIdCondition = other.cardTemplateIdCondition.copy();
		}
		if(other.goodsIdCondition != null) {
			this.goodsIdCondition = other.goodsIdCondition.copy();
		}
		if(other.amountPoundageCondition != null) {
			this.amountPoundageCondition = other.amountPoundageCondition.copy();
		}
		this.setOther(other);
	}
	private void setOther(MerchantTradeQuery other){
		if(other.processStateCondition != null) {
			this.processStateCondition = other.processStateCondition.copy();
		}
		if(other.orderTypeCondition != null) {
			this.orderTypeCondition = other.orderTypeCondition.copy();
		}
		if(other.realAmountCondition != null) {
			this.realAmountCondition = other.realAmountCondition.copy();
		}
	}

	@Override
	public QueryWrapper<MerchantTradeEntity> toQueryWrapper() {
		QueryWrapper<MerchantTradeEntity> wrapper = new QueryWrapper<>(this);
		if (idCondition != null) {
			idCondition.toWrapper(wrapper, COL_ID);
		}
		if (merchantIdCondition != null) {
			merchantIdCondition.toWrapper(wrapper, COL_MERCHANT_ID);
		}
		if (merchantWalletIdCondition != null) {
			merchantWalletIdCondition.toWrapper(wrapper, COL_MERCHANT_WALLET_ID);
		}
		if (amountCondition != null) {
			amountCondition.toWrapper(wrapper, COL_AMOUNT);
		}
		if (amountBeforeCondition != null) {
			amountBeforeCondition.toWrapper(wrapper, COL_AMOUNT_BEFORE);
		}
		if (amountAfterCondition != null) {
			amountAfterCondition.toWrapper(wrapper, COL_AMOUNT_AFTER);
		}
		if (currencyTypeCondition != null) {
			currencyTypeCondition.toWrapper(wrapper, COL_CURRENCY_TYPE);
		}
		if (typeCondition != null) {
			typeCondition.toWrapper(wrapper, COL_TYPE);
		}
		if (orderNoCondition != null) {
			orderNoCondition.toWrapper(wrapper, COL_ORDER_NO);
		}
		if (remarksCondition != null) {
			remarksCondition.toWrapper(wrapper, COL_REMARKS);
		}
		if (createdTimeCondition != null) {
			createdTimeCondition.toWrapper(wrapper, COL_CREATED_TIME);
		}
		if (cardTemplateIdCondition != null) {
			cardTemplateIdCondition.toWrapper(wrapper, COL_CARD_TEMPLATE_ID);
		}
		if (goodsIdCondition != null) {
			goodsIdCondition.toWrapper(wrapper, COL_GOODS_ID);
		}
		if (amountPoundageCondition != null) {
			amountPoundageCondition.toWrapper(wrapper, COL_AMOUNT_POUNDAGE);
		}
		return getQueryWrapper(wrapper);
	}
	private QueryWrapper<MerchantTradeEntity> getQueryWrapper(QueryWrapper<MerchantTradeEntity> wrapper){
		if (processStateCondition != null) {
			processStateCondition.toWrapper(wrapper, COL_PROCESS_STATE);
		}
		if (orderTypeCondition != null) {
			orderTypeCondition.toWrapper(wrapper, COL_ORDER_TYPE);
		}
		if (realAmountCondition != null) {
			realAmountCondition.toWrapper(wrapper, COL_REAL_AMOUNT);
		}
		return wrapper;
	}

	/**
	 * 构造并返回交易ID（与分表中的ID保持一致）查询条件
	 * 
	 * @return idCondition 交易ID（与分表中的ID保持一致）查询条件
	 */
	public Condition<String> id() {
		this.idCondition = new Condition<>();
		return this.idCondition;
	}
	
	/**
	 * 获取交易ID（与分表中的ID保持一致）查询条件
	 * 
	 * @return idCondition 交易ID（与分表中的ID保持一致）查询条件
	 */
	public Condition<String> getIdCondition() {
		return idCondition;
	}

	/**
	 * 设置交易ID（与分表中的ID保持一致）查询条件
	 * 
	 * @param idCondition 交易ID（与分表中的ID保持一致）查询条件
	 */
	public void setIdCondition(Condition<String> idCondition) {
		this.idCondition = idCondition;
	}

	/**
	 * 构造并返回商户ID查询条件
	 * 
	 * @return merchantIdCondition 商户ID查询条件
	 */
	public Condition<String> merchantId() {
		this.merchantIdCondition = new Condition<>();
		return this.merchantIdCondition;
	}
	
	/**
	 * 获取商户ID查询条件
	 * 
	 * @return merchantIdCondition 商户ID查询条件
	 */
	public Condition<String> getMerchantIdCondition() {
		return merchantIdCondition;
	}

	/**
	 * 设置商户ID查询条件
	 * 
	 * @param merchantIdCondition 商户ID查询条件
	 */
	public void setMerchantIdCondition(Condition<String> merchantIdCondition) {
		this.merchantIdCondition = merchantIdCondition;
	}

	/**
	 * 构造并返回商户钱包ID查询条件
	 * 
	 * @return merchantWalletIdCondition 商户钱包ID查询条件
	 */
	public Condition<String> merchantWalletId() {
		this.merchantWalletIdCondition = new Condition<>();
		return this.merchantWalletIdCondition;
	}
	
	/**
	 * 获取商户钱包ID查询条件
	 * 
	 * @return merchantWalletIdCondition 商户钱包ID查询条件
	 */
	public Condition<String> getMerchantWalletIdCondition() {
		return merchantWalletIdCondition;
	}

	/**
	 * 设置商户钱包ID查询条件
	 * 
	 * @param merchantWalletIdCondition 商户钱包ID查询条件
	 */
	public void setMerchantWalletIdCondition(Condition<String> merchantWalletIdCondition) {
		this.merchantWalletIdCondition = merchantWalletIdCondition;
	}

	/**
	 * 构造并返回收入金额（正数表示收入，负数表示支出）查询条件
	 * 
	 * @return amountCondition 收入金额（正数表示收入，负数表示支出）查询条件
	 */
	public Condition<BigDecimal> amount() {
		this.amountCondition = new Condition<>();
		return this.amountCondition;
	}
	
	/**
	 * 获取收入金额（正数表示收入，负数表示支出）查询条件
	 * 
	 * @return amountCondition 收入金额（正数表示收入，负数表示支出）查询条件
	 */
	public Condition<BigDecimal> getAmountCondition() {
		return amountCondition;
	}

	/**
	 * 设置收入金额（正数表示收入，负数表示支出）查询条件
	 * 
	 * @param amountCondition 收入金额（正数表示收入，负数表示支出）查询条件
	 */
	public void setAmountCondition(Condition<BigDecimal> amountCondition) {
		this.amountCondition = amountCondition;
	}

	/**
	 * 构造并返回交易前余额查询条件
	 * 
	 * @return amountBeforeCondition 交易前余额查询条件
	 */
	public Condition<BigDecimal> amountBefore() {
		this.amountBeforeCondition = new Condition<>();
		return this.amountBeforeCondition;
	}
	
	/**
	 * 获取交易前余额查询条件
	 * 
	 * @return amountBeforeCondition 交易前余额查询条件
	 */
	public Condition<BigDecimal> getAmountBeforeCondition() {
		return amountBeforeCondition;
	}

	/**
	 * 设置交易前余额查询条件
	 * 
	 * @param amountBeforeCondition 交易前余额查询条件
	 */
	public void setAmountBeforeCondition(Condition<BigDecimal> amountBeforeCondition) {
		this.amountBeforeCondition = amountBeforeCondition;
	}

	/**
	 * 构造并返回交易后余额查询条件
	 * 
	 * @return amountAfterCondition 交易后余额查询条件
	 */
	public Condition<BigDecimal> amountAfter() {
		this.amountAfterCondition = new Condition<>();
		return this.amountAfterCondition;
	}
	
	/**
	 * 获取交易后余额查询条件
	 * 
	 * @return amountAfterCondition 交易后余额查询条件
	 */
	public Condition<BigDecimal> getAmountAfterCondition() {
		return amountAfterCondition;
	}

	/**
	 * 设置交易后余额查询条件
	 * 
	 * @param amountAfterCondition 交易后余额查询条件
	 */
	public void setAmountAfterCondition(Condition<BigDecimal> amountAfterCondition) {
		this.amountAfterCondition = amountAfterCondition;
	}

	/**
	 * 构造并返回[全局枚举]币种：0-悦币-YUE_COIN、1-福利卡-YUE_CARD_GRANTED、2-预付卡-YUE_CARD_BOUGHT、3-微信-WECHAT、4-支付宝-ALIPAY查询条件
	 * 
	 * @return currencyTypeCondition [全局枚举]币种：0-悦币-YUE_COIN、1-福利卡-YUE_CARD_GRANTED、2-预付卡-YUE_CARD_BOUGHT、3-微信-WECHAT、4-支付宝-ALIPAY查询条件
	 */
	public Condition<CurrencyType> currencyType() {
		this.currencyTypeCondition = new Condition<>();
		return this.currencyTypeCondition;
	}
	
	/**
	 * 获取[全局枚举]币种：0-悦币-YUE_COIN、1-福利卡-YUE_CARD_GRANTED、2-预付卡-YUE_CARD_BOUGHT、3-微信-WECHAT、4-支付宝-ALIPAY查询条件
	 * 
	 * @return currencyTypeCondition [全局枚举]币种：0-悦币-YUE_COIN、1-福利卡-YUE_CARD_GRANTED、2-预付卡-YUE_CARD_BOUGHT、3-微信-WECHAT、4-支付宝-ALIPAY查询条件
	 */
	public Condition<CurrencyType> getCurrencyTypeCondition() {
		return currencyTypeCondition;
	}

	/**
	 * 设置[全局枚举]币种：0-悦币-YUE_COIN、1-福利卡-YUE_CARD_GRANTED、2-预付卡-YUE_CARD_BOUGHT、3-微信-WECHAT、4-支付宝-ALIPAY查询条件
	 * 
	 * @param currencyTypeCondition [全局枚举]币种：0-悦币-YUE_COIN、1-福利卡-YUE_CARD_GRANTED、2-预付卡-YUE_CARD_BOUGHT、3-微信-WECHAT、4-支付宝-ALIPAY查询条件
	 */
	public void setCurrencyTypeCondition(Condition<CurrencyType> currencyTypeCondition) {
		this.currencyTypeCondition = currencyTypeCondition;
	}

	/**
	 * 构造并返回[枚举]类型：0-扫码-SCAN_PAY、1-提货-PICK_UP、2-退款-REFUND、3-提现-WITHDRAW、4-购买-BUY、5-手续费-POUNDAGE、6-运费-FREIGHT、7-悦卡结算-YUECARD查询条件
	 * 
	 * @return typeCondition [枚举]类型：0-扫码-SCAN_PAY、1-提货-PICK_UP、2-退款-REFUND、3-提现-WITHDRAW、4-购买-BUY、5-手续费-POUNDAGE、6-运费-FREIGHT、7-悦卡结算-YUECARD查询条件
	 */
	public Condition<MerchantTradeType> type() {
		this.typeCondition = new Condition<>();
		return this.typeCondition;
	}
	
	/**
	 * 获取[枚举]类型：0-扫码-SCAN_PAY、1-提货-PICK_UP、2-退款-REFUND、3-提现-WITHDRAW、4-购买-BUY、5-手续费-POUNDAGE、6-运费-FREIGHT、7-悦卡结算-YUECARD查询条件
	 * 
	 * @return typeCondition [枚举]类型：0-扫码-SCAN_PAY、1-提货-PICK_UP、2-退款-REFUND、3-提现-WITHDRAW、4-购买-BUY、5-手续费-POUNDAGE、6-运费-FREIGHT、7-悦卡结算-YUECARD查询条件
	 */
	public Condition<MerchantTradeType> getTypeCondition() {
		return typeCondition;
	}

	/**
	 * 设置[枚举]类型：0-扫码-SCAN_PAY、1-提货-PICK_UP、2-退款-REFUND、3-提现-WITHDRAW、4-购买-BUY、5-手续费-POUNDAGE、6-运费-FREIGHT、7-悦卡结算-YUECARD查询条件
	 * 
	 * @param typeCondition [枚举]类型：0-扫码-SCAN_PAY、1-提货-PICK_UP、2-退款-REFUND、3-提现-WITHDRAW、4-购买-BUY、5-手续费-POUNDAGE、6-运费-FREIGHT、7-悦卡结算-YUECARD查询条件
	 */
	public void setTypeCondition(Condition<MerchantTradeType> typeCondition) {
		this.typeCondition = typeCondition;
	}

	/**
	 * 构造并返回订单号查询条件
	 * 
	 * @return orderNoCondition 订单号查询条件
	 */
	public Condition<String> orderNo() {
		this.orderNoCondition = new Condition<>();
		return this.orderNoCondition;
	}
	
	/**
	 * 获取订单号查询条件
	 * 
	 * @return orderNoCondition 订单号查询条件
	 */
	public Condition<String> getOrderNoCondition() {
		return orderNoCondition;
	}

	/**
	 * 设置订单号查询条件
	 * 
	 * @param orderNoCondition 订单号查询条件
	 */
	public void setOrderNoCondition(Condition<String> orderNoCondition) {
		this.orderNoCondition = orderNoCondition;
	}

	/**
	 * 构造并返回交易备注查询条件
	 * 
	 * @return remarksCondition 交易备注查询条件
	 */
	public Condition<String> remarks() {
		this.remarksCondition = new Condition<>();
		return this.remarksCondition;
	}
	
	/**
	 * 获取交易备注查询条件
	 * 
	 * @return remarksCondition 交易备注查询条件
	 */
	public Condition<String> getRemarksCondition() {
		return remarksCondition;
	}

	/**
	 * 设置交易备注查询条件
	 * 
	 * @param remarksCondition 交易备注查询条件
	 */
	public void setRemarksCondition(Condition<String> remarksCondition) {
		this.remarksCondition = remarksCondition;
	}

	/**
	 * 构造并返回交易时间查询条件
	 * 
	 * @return createdTimeCondition 交易时间查询条件
	 */
	public Condition<LocalDateTime> createdTime() {
		this.createdTimeCondition = new Condition<>();
		return this.createdTimeCondition;
	}
	
	/**
	 * 获取交易时间查询条件
	 * 
	 * @return createdTimeCondition 交易时间查询条件
	 */
	public Condition<LocalDateTime> getCreatedTimeCondition() {
		return createdTimeCondition;
	}

	/**
	 * 设置交易时间查询条件
	 * 
	 * @param createdTimeCondition 交易时间查询条件
	 */
	public void setCreatedTimeCondition(Condition<LocalDateTime> createdTimeCondition) {
		this.createdTimeCondition = createdTimeCondition;
	}

	/**
	 * 构造并返回悦卡模板ID（商户收入悦卡时存在）查询条件
	 * 
	 * @return cardTemplateIdCondition 悦卡模板ID（商户收入悦卡时存在）查询条件
	 */
	public Condition<String> cardTemplateId() {
		this.cardTemplateIdCondition = new Condition<>();
		return this.cardTemplateIdCondition;
	}
	
	/**
	 * 获取悦卡模板ID（商户收入悦卡时存在）查询条件
	 * 
	 * @return cardTemplateIdCondition 悦卡模板ID（商户收入悦卡时存在）查询条件
	 */
	public Condition<String> getCardTemplateIdCondition() {
		return cardTemplateIdCondition;
	}

	/**
	 * 设置悦卡模板ID（商户收入悦卡时存在）查询条件
	 * 
	 * @param cardTemplateIdCondition 悦卡模板ID（商户收入悦卡时存在）查询条件
	 */
	public void setCardTemplateIdCondition(Condition<String> cardTemplateIdCondition) {
		this.cardTemplateIdCondition = cardTemplateIdCondition;
	}

	/**
	 * 构造并返回单品id 核销时存入查询条件
	 * 
	 * @return goodsIdCondition 单品id 核销时存入查询条件
	 */
	public Condition<String> goodsId() {
		this.goodsIdCondition = new Condition<>();
		return this.goodsIdCondition;
	}
	
	/**
	 * 获取单品id 核销时存入查询条件
	 * 
	 * @return goodsIdCondition 单品id 核销时存入查询条件
	 */
	public Condition<String> getGoodsIdCondition() {
		return goodsIdCondition;
	}

	/**
	 * 设置单品id 核销时存入查询条件
	 * 
	 * @param goodsIdCondition 单品id 核销时存入查询条件
	 */
	public void setGoodsIdCondition(Condition<String> goodsIdCondition) {
		this.goodsIdCondition = goodsIdCondition;
	}

	/**
	 * 构造并返回手续费查询条件
	 * 
	 * @return amountPoundageCondition 手续费查询条件
	 */
	public Condition<BigDecimal> amountPoundage() {
		this.amountPoundageCondition = new Condition<>();
		return this.amountPoundageCondition;
	}
	
	/**
	 * 获取手续费查询条件
	 * 
	 * @return amountPoundageCondition 手续费查询条件
	 */
	public Condition<BigDecimal> getAmountPoundageCondition() {
		return amountPoundageCondition;
	}

	/**
	 * 设置手续费查询条件
	 * 
	 * @param amountPoundageCondition 手续费查询条件
	 */
	public void setAmountPoundageCondition(Condition<BigDecimal> amountPoundageCondition) {
		this.amountPoundageCondition = amountPoundageCondition;
	}

	/**
	 * 构造并返回[枚举]处理状态：0-未处理-UNPROCESS、1-已处理-PROCESSED查询条件
	 * 
	 * @return processStateCondition [枚举]处理状态：0-未处理-UNPROCESS、1-已处理-PROCESSED查询条件
	 */
	public Condition<MerchantTradeProcessState> processState() {
		this.processStateCondition = new Condition<>();
		return this.processStateCondition;
	}
	
	/**
	 * 获取[枚举]处理状态：0-未处理-UNPROCESS、1-已处理-PROCESSED查询条件
	 * 
	 * @return processStateCondition [枚举]处理状态：0-未处理-UNPROCESS、1-已处理-PROCESSED查询条件
	 */
	public Condition<MerchantTradeProcessState> getProcessStateCondition() {
		return processStateCondition;
	}

	/**
	 * 设置[枚举]处理状态：0-未处理-UNPROCESS、1-已处理-PROCESSED查询条件
	 * 
	 * @param processStateCondition [枚举]处理状态：0-未处理-UNPROCESS、1-已处理-PROCESSED查询条件
	 */
	public void setProcessStateCondition(Condition<MerchantTradeProcessState> processStateCondition) {
		this.processStateCondition = processStateCondition;
	}

	/**
	 * 构造并返回[枚举]类型：0-购物订单-BUY、1-扫码支付-SCAN_PAY、2-停车支付-PARK、3-商户停车券-MERCHANT_COUPON_BUY、4-购买悦卡-CARD_BUY、5-充值悦币-RECHARGE_COIN、6-仪表充值-DOORNO_RECHARGE、7-商户仪表充值-MERCHANT_DOORNO_RECHARGE、8-商户会员等级充值-MERCHANT_LEVEL_BUY、9-疯狂砍价-BARGAIN、10-秒杀-SECKILL、11-限时折扣-LIMIT_SALES、12-积分兑换-POINTS、13-购买套餐-MEAL、14-全民拼团-GROUPON、15-抽奖-LOTTERY、16-物业缴费-PROPERTY_PAY_COST、17-商户物业缴费-MERCHANT_PROPERTY_PAY_COST、18-配送到家-DELIVERY_TO_HOME查询条件
	 * 
	 * @return orderTypeCondition [枚举]类型：0-购物订单-BUY、1-扫码支付-SCAN_PAY、2-停车支付-PARK、3-商户停车券-MERCHANT_COUPON_BUY、4-购买悦卡-CARD_BUY、5-充值悦币-RECHARGE_COIN、6-仪表充值-DOORNO_RECHARGE、7-商户仪表充值-MERCHANT_DOORNO_RECHARGE、8-商户会员等级充值-MERCHANT_LEVEL_BUY、9-疯狂砍价-BARGAIN、10-秒杀-SECKILL、11-限时折扣-LIMIT_SALES、12-积分兑换-POINTS、13-购买套餐-MEAL、14-全民拼团-GROUPON、15-抽奖-LOTTERY、16-物业缴费-PROPERTY_PAY_COST、17-商户物业缴费-MERCHANT_PROPERTY_PAY_COST、18-配送到家-DELIVERY_TO_HOME查询条件
	 */
	public Condition<MerchantTradeOrderType> orderType() {
		this.orderTypeCondition = new Condition<>();
		return this.orderTypeCondition;
	}
	
	/**
	 * 获取[枚举]类型：0-购物订单-BUY、1-扫码支付-SCAN_PAY、2-停车支付-PARK、3-商户停车券-MERCHANT_COUPON_BUY、4-购买悦卡-CARD_BUY、5-充值悦币-RECHARGE_COIN、6-仪表充值-DOORNO_RECHARGE、7-商户仪表充值-MERCHANT_DOORNO_RECHARGE、8-商户会员等级充值-MERCHANT_LEVEL_BUY、9-疯狂砍价-BARGAIN、10-秒杀-SECKILL、11-限时折扣-LIMIT_SALES、12-积分兑换-POINTS、13-购买套餐-MEAL、14-全民拼团-GROUPON、15-抽奖-LOTTERY、16-物业缴费-PROPERTY_PAY_COST、17-商户物业缴费-MERCHANT_PROPERTY_PAY_COST、18-配送到家-DELIVERY_TO_HOME查询条件
	 * 
	 * @return orderTypeCondition [枚举]类型：0-购物订单-BUY、1-扫码支付-SCAN_PAY、2-停车支付-PARK、3-商户停车券-MERCHANT_COUPON_BUY、4-购买悦卡-CARD_BUY、5-充值悦币-RECHARGE_COIN、6-仪表充值-DOORNO_RECHARGE、7-商户仪表充值-MERCHANT_DOORNO_RECHARGE、8-商户会员等级充值-MERCHANT_LEVEL_BUY、9-疯狂砍价-BARGAIN、10-秒杀-SECKILL、11-限时折扣-LIMIT_SALES、12-积分兑换-POINTS、13-购买套餐-MEAL、14-全民拼团-GROUPON、15-抽奖-LOTTERY、16-物业缴费-PROPERTY_PAY_COST、17-商户物业缴费-MERCHANT_PROPERTY_PAY_COST、18-配送到家-DELIVERY_TO_HOME查询条件
	 */
	public Condition<MerchantTradeOrderType> getOrderTypeCondition() {
		return orderTypeCondition;
	}

	/**
	 * 设置[枚举]类型：0-购物订单-BUY、1-扫码支付-SCAN_PAY、2-停车支付-PARK、3-商户停车券-MERCHANT_COUPON_BUY、4-购买悦卡-CARD_BUY、5-充值悦币-RECHARGE_COIN、6-仪表充值-DOORNO_RECHARGE、7-商户仪表充值-MERCHANT_DOORNO_RECHARGE、8-商户会员等级充值-MERCHANT_LEVEL_BUY、9-疯狂砍价-BARGAIN、10-秒杀-SECKILL、11-限时折扣-LIMIT_SALES、12-积分兑换-POINTS、13-购买套餐-MEAL、14-全民拼团-GROUPON、15-抽奖-LOTTERY、16-物业缴费-PROPERTY_PAY_COST、17-商户物业缴费-MERCHANT_PROPERTY_PAY_COST、18-配送到家-DELIVERY_TO_HOME查询条件
	 * 
	 * @param orderTypeCondition [枚举]类型：0-购物订单-BUY、1-扫码支付-SCAN_PAY、2-停车支付-PARK、3-商户停车券-MERCHANT_COUPON_BUY、4-购买悦卡-CARD_BUY、5-充值悦币-RECHARGE_COIN、6-仪表充值-DOORNO_RECHARGE、7-商户仪表充值-MERCHANT_DOORNO_RECHARGE、8-商户会员等级充值-MERCHANT_LEVEL_BUY、9-疯狂砍价-BARGAIN、10-秒杀-SECKILL、11-限时折扣-LIMIT_SALES、12-积分兑换-POINTS、13-购买套餐-MEAL、14-全民拼团-GROUPON、15-抽奖-LOTTERY、16-物业缴费-PROPERTY_PAY_COST、17-商户物业缴费-MERCHANT_PROPERTY_PAY_COST、18-配送到家-DELIVERY_TO_HOME查询条件
	 */
	public void setOrderTypeCondition(Condition<MerchantTradeOrderType> orderTypeCondition) {
		this.orderTypeCondition = orderTypeCondition;
	}

	/**
	 * 构造并返回实际交易金额查询条件
	 * 
	 * @return realAmountCondition 实际交易金额查询条件
	 */
	public Condition<BigDecimal> realAmount() {
		this.realAmountCondition = new Condition<>();
		return this.realAmountCondition;
	}
	
	/**
	 * 获取实际交易金额查询条件
	 * 
	 * @return realAmountCondition 实际交易金额查询条件
	 */
	public Condition<BigDecimal> getRealAmountCondition() {
		return realAmountCondition;
	}

	/**
	 * 设置实际交易金额查询条件
	 * 
	 * @param realAmountCondition 实际交易金额查询条件
	 */
	public void setRealAmountCondition(Condition<BigDecimal> realAmountCondition) {
		this.realAmountCondition = realAmountCondition;
	}

}
